using GamFi.API.Domain.Entities;

namespace GamFi.API.Application.DefaultSettings;

public static class BaseCountries
{
    public static readonly IDictionary<string, Country> AllBaseCountries
        = new Dictionary<string, Country>
        {
            { "Afghanistan", new Country { Code = 4, AlphaTwo = "AF", AlphaThree = "AFG" } },
            { "Albania", new Country { Code = 8, AlphaTwo = "AL", AlphaThree = "ALB" } },
            { "Algeria", new Country { Code = 12, AlphaTwo = "DZ", AlphaThree = "DZA" } },
            { "Andorra", new Country { Code = 20, AlphaTwo = "AD", AlphaThree = "AND" } },
            { "Angola", new Country { Code = 24, AlphaTwo = "AO", AlphaThree = "AGO" } },
            { "Antigua and Barbuda", new Country { Code = 28, AlphaTwo = "AG", AlphaThree = "ATG" } },
            { "Argentina", new Country { Code = 32, AlphaTwo = "AR", AlphaThree = "ARG" } },
            { "Armenia", new Country { Code = 51, AlphaTwo = "AM", AlphaThree = "ARM" } },
            { "Australia", new Country { Code = 36, AlphaTwo = "AU", AlphaThree = "AUS" } },
            { "Austria", new Country { Code = 40, AlphaTwo = "AT", AlphaThree = "AUT" } },
            { "Azerbaijan", new Country { Code = 31, AlphaTwo = "AZ", AlphaThree = "AZE" } },
            { "Bahamas", new Country { Code = 44, AlphaTwo = "BS", AlphaThree = "BHS" } },
            { "Bahrain", new Country { Code = 48, AlphaTwo = "BH", AlphaThree = "BHR" } },
            { "Bangladesh", new Country { Code = 50, AlphaTwo = "BD", AlphaThree = "BGD" } },
            { "Barbados", new Country { Code = 52, AlphaTwo = "BB", AlphaThree = "BRB" } },
            { "Belarus", new Country { Code = 112, AlphaTwo = "BY", AlphaThree = "BLR" } },
            { "Belgium", new Country { Code = 56, AlphaTwo = "BE", AlphaThree = "BEL" } },
            { "Belize", new Country { Code = 84, AlphaTwo = "BZ", AlphaThree = "BLZ" } },
            { "Benin", new Country { Code = 204, AlphaTwo = "BJ", AlphaThree = "BEN" } },
            { "Bhutan", new Country { Code = 64, AlphaTwo = "BT", AlphaThree = "BTN" } },
            { "Bolivia", new Country { Code = 68, AlphaTwo = "BO", AlphaThree = "BOL" } },
            { "Bosnia and Herzegovina", new Country { Code = 70, AlphaTwo = "BA", AlphaThree = "BIH" } },
            { "Botswana", new Country { Code = 72, AlphaTwo = "BW", AlphaThree = "BWA" } },
            { "Brazil", new Country { Code = 76, AlphaTwo = "BR", AlphaThree = "BRA" } },
            { "Brunei", new Country { Code = 96, AlphaTwo = "BN", AlphaThree = "BRN" } },
            { "Bulgaria", new Country { Code = 100, AlphaTwo = "BG", AlphaThree = "BGR" } },
            { "Burkina Faso", new Country { Code = 854, AlphaTwo = "BF", AlphaThree = "BFA" } },
            { "Burundi", new Country { Code = 108, AlphaTwo = "BI", AlphaThree = "BDI" } },
            { "Cabo Verde", new Country { Code = 132, AlphaTwo = "CV", AlphaThree = "CPV" } },
            { "Cambodia", new Country { Code = 116, AlphaTwo = "KH", AlphaThree = "KHM" } },
            { "Cameroon", new Country { Code = 120, AlphaTwo = "CM", AlphaThree = "CMR" } },
            { "Canada", new Country { Code = 124, AlphaTwo = "CA", AlphaThree = "CAN" } },
            { "Central African Republic", new Country { Code = 140, AlphaTwo = "CF", AlphaThree = "CAF" } },
            { "Chad", new Country { Code = 148, AlphaTwo = "TD", AlphaThree = "TCD" } },
            { "Chile", new Country { Code = 152, AlphaTwo = "CL", AlphaThree = "CHL" } },
            { "China", new Country { Code = 156, AlphaTwo = "CN", AlphaThree = "CHN" } },
            { "Colombia", new Country { Code = 170, AlphaTwo = "CO", AlphaThree = "COL" } },
            { "Comoros", new Country { Code = 174, AlphaTwo = "KM", AlphaThree = "COM" } },
            { "Congo", new Country { Code = 178, AlphaTwo = "CG", AlphaThree = "COG" } },
            { "Costa Rica", new Country { Code = 188, AlphaTwo = "CR", AlphaThree = "CRI" } },
            { "Croatia", new Country { Code = 191, AlphaTwo = "HR", AlphaThree = "HRV" } },
            { "Cuba", new Country { Code = 192, AlphaTwo = "CU", AlphaThree = "CUB" } },
            { "Cyprus", new Country { Code = 196, AlphaTwo = "CY", AlphaThree = "CYP" } },
            { "Czechia", new Country { Code = 203, AlphaTwo = "CZ", AlphaThree = "CZE" } },
            { "Denmark", new Country { Code = 208, AlphaTwo = "DK", AlphaThree = "DNK" } },
            { "Djibouti", new Country { Code = 262, AlphaTwo = "DJ", AlphaThree = "DJI" } },
            { "Dominica", new Country { Code = 212, AlphaTwo = "DM", AlphaThree = "DMA" } },
            { "Dominican Republic", new Country { Code = 214, AlphaTwo = "DO", AlphaThree = "DOM" } },
            { "East Timor", new Country { Code = 626, AlphaTwo = "TL", AlphaThree = "TLS" } },
            { "Ecuador", new Country { Code = 218, AlphaTwo = "EC", AlphaThree = "ECU" } },
            { "Egypt", new Country { Code = 818, AlphaTwo = "EG", AlphaThree = "EGY" } },
            { "El Salvador", new Country { Code = 222, AlphaTwo = "SV", AlphaThree = "SLV" } },
            { "Equatorial Guinea", new Country { Code = 226, AlphaTwo = "GQ", AlphaThree = "GNQ" } },
            { "Eritrea", new Country { Code = 232, AlphaTwo = "ER", AlphaThree = "ERI" } },
            { "Estonia", new Country { Code = 233, AlphaTwo = "EE", AlphaThree = "EST" } },
            { "Eswatini", new Country { Code = 748, AlphaTwo = "SZ", AlphaThree = "SWZ" } },
            { "Ethiopia", new Country { Code = 231, AlphaTwo = "ET", AlphaThree = "ETH" } },
            { "Fiji", new Country { Code = 242, AlphaTwo = "FJ", AlphaThree = "FJI" } },
            { "Finland", new Country { Code = 246, AlphaTwo = "FI", AlphaThree = "FIN" } },
            { "France", new Country { Code = 250, AlphaTwo = "FR", AlphaThree = "FRA" } },
            { "Gabon", new Country { Code = 266, AlphaTwo = "GA", AlphaThree = "GAB" } },
            { "Gambia", new Country { Code = 270, AlphaTwo = "GM", AlphaThree = "GMB" } },
            { "Georgia", new Country { Code = 268, AlphaTwo = "GE", AlphaThree = "GEO" } },
            { "Germany", new Country { Code = 276, AlphaTwo = "DE", AlphaThree = "DEU" } },
            { "Ghana", new Country { Code = 288, AlphaTwo = "GH", AlphaThree = "GHA" } },
            { "Greece", new Country { Code = 300, AlphaTwo = "GR", AlphaThree = "GRC" } },
            { "Grenada", new Country { Code = 308, AlphaTwo = "GD", AlphaThree = "GRD" } },
            { "Guatemala", new Country { Code = 320, AlphaTwo = "GT", AlphaThree = "GTM" } },
            { "Guinea", new Country { Code = 324, AlphaTwo = "GN", AlphaThree = "GIN" } },
            { "Guinea-Bissau", new Country { Code = 624, AlphaTwo = "GW", AlphaThree = "GNB" } },
            { "Guyana", new Country { Code = 328, AlphaTwo = "GY", AlphaThree = "GUY" } },
            { "Haiti", new Country { Code = 332, AlphaTwo = "HT", AlphaThree = "HTI" } },
            { "Honduras", new Country { Code = 340, AlphaTwo = "HN", AlphaThree = "HND" } },
            { "Hungary", new Country { Code = 348, AlphaTwo = "HU", AlphaThree = "HUN" } },
            { "Iceland", new Country { Code = 352, AlphaTwo = "IS", AlphaThree = "ISL" } },
            { "India", new Country { Code = 356, AlphaTwo = "IN", AlphaThree = "IND" } },
            { "Indonesia", new Country { Code = 360, AlphaTwo = "ID", AlphaThree = "IDN" } },
            { "Iran", new Country { Code = 364, AlphaTwo = "IR", AlphaThree = "IRN" } },
            { "Iraq", new Country { Code = 368, AlphaTwo = "IQ", AlphaThree = "IRQ" } },
            { "Ireland", new Country { Code = 372, AlphaTwo = "IE", AlphaThree = "IRL" } },
            { "Israel", new Country { Code = 376, AlphaTwo = "IL", AlphaThree = "ISR" } },
            { "Italy", new Country { Code = 380, AlphaTwo = "IT", AlphaThree = "ITA" } },
            { "Ivory Coast", new Country { Code = 384, AlphaTwo = "CI", AlphaThree = "CIV" } },
            { "Jamaica", new Country { Code = 388, AlphaTwo = "JM", AlphaThree = "JAM" } },
            { "Japan", new Country { Code = 392, AlphaTwo = "JP", AlphaThree = "JPN" } },
            { "Jordan", new Country { Code = 400, AlphaTwo = "JO", AlphaThree = "JOR" } },
            { "Kazakhstan", new Country { Code = 398, AlphaTwo = "KZ", AlphaThree = "KAZ" } },
            { "Kenya", new Country { Code = 404, AlphaTwo = "KE", AlphaThree = "KEN" } },
            { "Kiribati", new Country { Code = 296, AlphaTwo = "KI", AlphaThree = "KIR" } },
            { "Kosovo", new Country { Code = 0, AlphaTwo = "XK", AlphaThree = "XKX" } },
            { "Kuwait", new Country { Code = 414, AlphaTwo = "KW", AlphaThree = "KWT" } },
            { "Kyrgyzstan", new Country { Code = 417, AlphaTwo = "KG", AlphaThree = "KGZ" } },
            { "Laos", new Country { Code = 418, AlphaTwo = "LA", AlphaThree = "LAO" } },
            { "Latvia", new Country { Code = 428, AlphaTwo = "LV", AlphaThree = "LVA" } },
            { "Lebanon", new Country { Code = 422, AlphaTwo = "LB", AlphaThree = "LBN" } },
            { "Lesotho", new Country { Code = 426, AlphaTwo = "LS", AlphaThree = "LSO" } },
            { "Liberia", new Country { Code = 430, AlphaTwo = "LR", AlphaThree = "LBR" } },
            { "Libya", new Country { Code = 434, AlphaTwo = "LY", AlphaThree = "LBY" } },
            { "Liechtenstein", new Country { Code = 438, AlphaTwo = "LI", AlphaThree = "LIE" } },
            { "Lithuania", new Country { Code = 440, AlphaTwo = "LT", AlphaThree = "LTU" } },
            { "Luxembourg", new Country { Code = 442, AlphaTwo = "LU", AlphaThree = "LUX" } },
            { "North Macedonia", new Country { Code = 807, AlphaTwo = "MK", AlphaThree = "MKD" } },
            { "Madagascar", new Country { Code = 450, AlphaTwo = "MG", AlphaThree = "MDG" } },
            { "Malawi", new Country { Code = 454, AlphaTwo = "MW", AlphaThree = "MWI" } },
            { "Malaysia", new Country { Code = 458, AlphaTwo = "MY", AlphaThree = "MYS" } },
            { "Maldives", new Country { Code = 462, AlphaTwo = "MV", AlphaThree = "MDV" } },
            { "Mali", new Country { Code = 466, AlphaTwo = "ML", AlphaThree = "MLI" } },
            { "Malta", new Country { Code = 470, AlphaTwo = "MT", AlphaThree = "MLT" } },
            { "Marshall Islands", new Country { Code = 584, AlphaTwo = "MH", AlphaThree = "MHL" } },
            { "Mauritania", new Country { Code = 478, AlphaTwo = "MR", AlphaThree = "MRT" } },
            { "Mauritius", new Country { Code = 480, AlphaTwo = "MU", AlphaThree = "MUS" } },
            { "Mexico", new Country { Code = 484, AlphaTwo = "MX", AlphaThree = "MEX" } },
            { "Micronesia", new Country { Code = 583, AlphaTwo = "FM", AlphaThree = "FSM" } },
            { "Moldova", new Country { Code = 498, AlphaTwo = "MD", AlphaThree = "MDA" } },
            { "Monaco", new Country { Code = 492, AlphaTwo = "MC", AlphaThree = "MCO" } },
            { "Mongolia", new Country { Code = 496, AlphaTwo = "MN", AlphaThree = "MNG" } },
            { "Montenegro", new Country { Code = 499, AlphaTwo = "ME", AlphaThree = "MNE" } },
            { "Morocco", new Country { Code = 504, AlphaTwo = "MA", AlphaThree = "MAR" } },
            { "Mozambique", new Country { Code = 508, AlphaTwo = "MZ", AlphaThree = "MOZ" } },
            { "Myanmar", new Country { Code = 104, AlphaTwo = "MM", AlphaThree = "MMR" } },
            { "Namibia", new Country { Code = 516, AlphaTwo = "NA", AlphaThree = "NAM" } },
            { "Nauru", new Country { Code = 520, AlphaTwo = "NR", AlphaThree = "NRU" } },
            { "Nepal", new Country { Code = 524, AlphaTwo = "NP", AlphaThree = "NPL" } },
            { "Netherlands", new Country { Code = 528, AlphaTwo = "NL", AlphaThree = "NLD" } },
            { "New Zealand", new Country { Code = 554, AlphaTwo = "NZ", AlphaThree = "NZL" } },
            { "Nicaragua", new Country { Code = 558, AlphaTwo = "NI", AlphaThree = "NIC" } },
            { "Niger", new Country { Code = 562, AlphaTwo = "NE", AlphaThree = "NER" } },
            { "Nigeria", new Country { Code = 566, AlphaTwo = "NG", AlphaThree = "NGA" } },
            { "North Korea", new Country { Code = 408, AlphaTwo = "KP", AlphaThree = "PRK" } },
            { "Norway", new Country { Code = 578, AlphaTwo = "NO", AlphaThree = "NOR" } },
            { "Oman", new Country { Code = 512, AlphaTwo = "OM", AlphaThree = "OMN" } },
            { "Pakistan", new Country { Code = 586, AlphaTwo = "PK", AlphaThree = "PAK" } },
            { "Palau", new Country { Code = 585, AlphaTwo = "PW", AlphaThree = "PLW" } },
            { "Palestine", new Country { Code = 275, AlphaTwo = "PS", AlphaThree = "PSE" } },
            { "Panama", new Country { Code = 591, AlphaTwo = "PA", AlphaThree = "PAN" } },
            { "Papua New Guinea", new Country { Code = 598, AlphaTwo = "PG", AlphaThree = "PNG" } },
            { "Paraguay", new Country { Code = 600, AlphaTwo = "PY", AlphaThree = "PRY" } },
            { "Peru", new Country { Code = 604, AlphaTwo = "PE", AlphaThree = "PER" } },
            { "Philippines", new Country { Code = 608, AlphaTwo = "PH", AlphaThree = "PHL" } },
            { "Poland", new Country { Code = 616, AlphaTwo = "PL", AlphaThree = "POL" } },
            { "Portugal", new Country { Code = 620, AlphaTwo = "PT", AlphaThree = "PRT" } },
            { "Qatar", new Country { Code = 634, AlphaTwo = "QA", AlphaThree = "QAT" } },
            { "Romania", new Country { Code = 642, AlphaTwo = "RO", AlphaThree = "ROU" } },
            { "Russia", new Country { Code = 643, AlphaTwo = "RU", AlphaThree = "RUS" } },
            { "Rwanda", new Country { Code = 646, AlphaTwo = "RW", AlphaThree = "RWA" } },
            { "Saint Kitts and Nevis", new Country { Code = 659, AlphaTwo = "KN", AlphaThree = "KNA" } },
            { "Saint Lucia", new Country { Code = 662, AlphaTwo = "LC", AlphaThree = "LCA" } },
            { "Saint Vincent and the Grenadines", new Country { Code = 670, AlphaTwo = "VC", AlphaThree = "VCT" } },
            { "Samoa", new Country { Code = 882, AlphaTwo = "WS", AlphaThree = "WSM" } },
            { "San Marino", new Country { Code = 674, AlphaTwo = "SM", AlphaThree = "SMR" } },
            { "Sao Tome and Principe", new Country { Code = 678, AlphaTwo = "ST", AlphaThree = "STP" } },
            { "Saudi Arabia", new Country { Code = 682, AlphaTwo = "SA", AlphaThree = "SAU" } },
            { "Senegal", new Country { Code = 686, AlphaTwo = "SN", AlphaThree = "SEN" } },
            { "Serbia", new Country { Code = 688, AlphaTwo = "RS", AlphaThree = "SRB" } },
            { "Seychelles", new Country { Code = 690, AlphaTwo = "SC", AlphaThree = "SYC" } },
            { "Sierra Leone", new Country { Code = 694, AlphaTwo = "SL", AlphaThree = "SLE" } },
            { "Singapore", new Country { Code = 702, AlphaTwo = "SG", AlphaThree = "SGP" } },
            { "Slovakia", new Country { Code = 703, AlphaTwo = "SK", AlphaThree = "SVK" } },
            { "Slovenia", new Country { Code = 705, AlphaTwo = "SI", AlphaThree = "SVN" } },
            { "Solomon Islands", new Country { Code = 90, AlphaTwo = "SB", AlphaThree = "SLB" } },
            { "Somalia", new Country { Code = 706, AlphaTwo = "SO", AlphaThree = "SOM" } },
            { "South Africa", new Country { Code = 710, AlphaTwo = "ZA", AlphaThree = "ZAF" } },
            { "South Korea", new Country { Code = 410, AlphaTwo = "KR", AlphaThree = "KOR" } },
            { "South Sudan", new Country { Code = 728, AlphaTwo = "SS", AlphaThree = "SSD" } },
            { "Spain", new Country { Code = 724, AlphaTwo = "ES", AlphaThree = "ESP" } },
            { "Sri Lanka", new Country { Code = 144, AlphaTwo = "LK", AlphaThree = "LKA" } },
            { "Sudan", new Country { Code = 729, AlphaTwo = "SD", AlphaThree = "SDN" } },
            { "Suriname", new Country { Code = 740, AlphaTwo = "SR", AlphaThree = "SUR" } },
            { "Sweden", new Country { Code = 752, AlphaTwo = "SE", AlphaThree = "SWE" } },
            { "Switzerland", new Country { Code = 756, AlphaTwo = "CH", AlphaThree = "CHE" } },
            { "Syria", new Country { Code = 760, AlphaTwo = "SY", AlphaThree = "SYR" } },
            { "Taiwan", new Country { Code = 158, AlphaTwo = "TW", AlphaThree = "TWN" } },
            { "Tajikistan", new Country { Code = 762, AlphaTwo = "TJ", AlphaThree = "TJK" } },
            { "Tanzania", new Country { Code = 834, AlphaTwo = "TZ", AlphaThree = "TZA" } },
            { "Thailand", new Country { Code = 764, AlphaTwo = "TH", AlphaThree = "THA" } },
            { "Togo", new Country { Code = 768, AlphaTwo = "TG", AlphaThree = "TGO" } },
            { "Tonga", new Country { Code = 776, AlphaTwo = "TO", AlphaThree = "TON" } },
            { "Trinidad and Tobago", new Country { Code = 780, AlphaTwo = "TT", AlphaThree = "TTO" } },
            { "Tunisia", new Country { Code = 788, AlphaTwo = "TN", AlphaThree = "TUN" } },
            { "Turkey", new Country { Code = 792, AlphaTwo = "TR", AlphaThree = "TUR" } },
            { "Turkmenistan", new Country { Code = 795, AlphaTwo = "TM", AlphaThree = "TKM" } },
            { "Tuvalu", new Country { Code = 798, AlphaTwo = "TV", AlphaThree = "TUV" } },
            { "Uganda", new Country { Code = 800, AlphaTwo = "UG", AlphaThree = "UGA" } },
            { "Ukraine", new Country { Code = 804, AlphaTwo = "UA", AlphaThree = "UKR" } },
            { "United Arab Emirates", new Country { Code = 784, AlphaTwo = "AE", AlphaThree = "ARE" } },
            { "United Kingdom", new Country { Code = 826, AlphaTwo = "GB", AlphaThree = "GBR" } },
            { "United States", new Country { Code = 840, AlphaTwo = "US", AlphaThree = "USA" } },
            { "Uruguay", new Country { Code = 858, AlphaTwo = "UY", AlphaThree = "URY" } },
            { "Uzbekistan", new Country { Code = 860, AlphaTwo = "UZ", AlphaThree = "UZB" } },
            { "Vanuatu", new Country { Code = 548, AlphaTwo = "VU", AlphaThree = "VUT" } },
            { "Vatican City", new Country { Code = 336, AlphaTwo = "VA", AlphaThree = "VAT" } },
            { "Venezuela", new Country { Code = 862, AlphaTwo = "VE", AlphaThree = "VEN" } },
            { "Vietnam", new Country { Code = 704, AlphaTwo = "VN", AlphaThree = "VNM" } },
            { "Yemen", new Country { Code = 887, AlphaTwo = "YE", AlphaThree = "YEM" } },
            { "Zambia", new Country { Code = 894, AlphaTwo = "ZM", AlphaThree = "ZMB" } },
            { "Zimbabwe", new Country { Code = 716, AlphaTwo = "ZW", AlphaThree = "ZWE" } }
        };
}